package cn.kgc.springboot.vue.service;

import cn.kgc.springboot.vue.commons.QueryCondition;
import cn.kgc.springboot.vue.entity.User;
import cn.kgc.springboot.vue.form.UserForm;
import cn.kgc.springboot.vue.response.ResponseResult;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.servlet.http.HttpServletRequest;

import java.util.HashMap;

/**
* @author mengshun
* @description 针对表【sys_user】的数据库操作Service
* @createDate 2024-12-18 09:40:46
*/
public interface UserService extends IService<User> {

    ResponseResult login(HashMap<String, String> params, HttpServletRequest request);

    ResponseResult getPersonalInfo(String token);

    ResponseResult editPersonalPwd(String token, HashMap<String, Object> params);

    ResponseResult logout(String token);

    ResponseResult editPersonalInfo(HashMap<String, Object> params);

    ResponseResult userPage(QueryCondition<User> queryCondition);

    ResponseResult addUser(UserForm userForm);

    ResponseResult editUser(UserForm userForm);

    ResponseResult resetPassword(Integer uid);

    ResponseResult changeUserState(HashMap<String, Integer> params);

    ResponseResult deleteUsers(String ids);

    ResponseResult createUserMenu(HttpServletRequest request);
}
